#!/bin/bash
# Go-DDNS 项目精简部署脚本
# 与直接运行 docker-compose up -d --build 相比，此脚本额外提供：
# 1. 自动拉取最新代码
# 2. 创建必要目录并设置权限
# 3. 检查部署状态并提供友好输出

set -e  # 遇到错误立即退出

# 颜色设置
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
RED='\033[0;31m'
NC='\033[0m' # No Color

echo -e "${GREEN}[步骤1]${NC} 拉取最新代码..."
git pull || { echo -e "${RED}[错误]${NC} 拉取代码失败！"; exit 1; }

echo -e "${GREEN}[步骤2]${NC} 创建必要目录..."
mkdir -p config logs
chmod -R 755 config logs

echo -e "${GREEN}[步骤3]${NC} 使用Docker构建并启动服务..."
docker-compose up -d --build || { echo -e "${RED}[错误]${NC} Docker构建失败！"; exit 1; }

echo -e "${GREEN}[步骤4]${NC} 检查服务状态..."
sleep 3
if [ "$(docker ps -f name=go-ddns --format "{{.Status}}" | grep -c "Up ")" -eq "1" ]; then
  echo -e "${GREEN}[成功]${NC} 服务运行中"
else
  echo -e "${YELLOW}[警告]${NC} 服务可能未正常运行，查看日志: docker logs go-ddns"
fi

echo -e "${GREEN}======================================================${NC}"
echo -e "${GREEN}   Go-DDNS 服务已部署完成                           ${NC}"
echo -e "${GREEN}   Web 界面: http://$(hostname -I | awk '{print $1}'):8080    ${NC}"
echo -e "${GREEN}   文件服务: http://$(hostname -I | awk '{print $1}'):8081    ${NC}"
echo -e "${GREEN}======================================================${NC}" 